Freezing the value of type arguments in an inherited generic class